головне меню список тем тестування презентації історія створення

 

5.1. Основні особливості мікроконтролерів серії PIC

5.1.1. Склад і призначення сімейств PIC-контроллерів

Мікроконтролери сімейств PIC (Peripheral Interface Controller) компанії Microchip об'єднують всі передові технології мікроконтролерів: електрично програмовані користувачем ппзп, мінімальне енергоспоживання, високу продуктивність, добре розвинену RISC-архітектуру, функціональну закінченість і мінімальні розміри. Широка номенклатура виробів забезпечує використовування мікроконтролерів в пристроях, призначених для різноманітних сфер вживання.
Перші мікроконтролери компанії Microchip PIC16C5x з'явилися в кінці 1980-х років і завдяки своїй високій продуктивності і низькій вартості склали серйозну конкуренцію 8-розрядним МК, що проводився у той час, з CISC-архітектурою.
Висока швидкість виконання команд в PIC-контролерах досягається за рахунок використання двохшинної гарвардської архітектури замість традиційної одношинної фон-нейманівської. Гарвардська архітектура грунтується на наборі регістрів з розділеними шинами і адресними просторами для команд і даних. Всі ресурси мікроконтролера, такі як порти вводу/виводу, елементи пам'яті і таймер, є фізично реалізованими апаратними регістрами.
Мікроконтролери PIC містять RISC-процесор з симетричною системою команд, що дозволяє виконувати операції з будь-яким регістром, використовуючи довільний метод адресації. Користувач може зберігати результат операції в самому регістрі-акумуляторі або в другому регістрі, що використовується для операції.
В даний час компанія Microchip випускає п'ять основних сімейств 8-розрядних RISC-мікроконтролерів, сумісних від низу до верху за програмним кодом:

  • PIC12CXXX - сімейство мікроконтролерів, що випускаються в мініатюрному 8-вивідному виконанні. Ці мікроконтролери випускаються як з 12-розрядною (33 команди), так і з 14-розрядною (35 команд) системою команд. Містять вбудований тактовий генератор, таймер/лічильник, сторожовий таймер, схему управління перериваннями. У складі сімейства є мікроконтролери з вбудованим 8-розрядним чотирьохканальним АЦП. Здатні працювати при напрузі живлення до 2,5 В;
  • PIC16C5X - базове сімейство мікроконтролерів з 12-розрядними командами (33 команди), що випускається в 18-, 20- і 28-вивідних корпусах. Є простими недорогими мікроконтролерами з мінімальною периферією. Здатність працювати при малій напрузі живлення (до 2 В) робить їх зручними для вживання в переносних конструкціях. До складу сімейства входять мікроконтролери підгрупи PIC16HV5XX, здатні працювати безпосередньо від батареї в діапазоні живлячих напруг до 15 В;
  • PIC16CXXX - сімейство мікроконтролерів середнього рівня з 14-розрядними командами (35 команд). Найчисленніше сімейство, об'єднуюче мікроконтролери з різноманітними периферійними пристроями, до числа яких входять аналогові компаратори, аналогово-цифрові перетворювачі, контроллери послідовних інтерфейсів SPI, USART і I2C, таймери-лічильники, модулі захоплення/порівняння, широтно-імпульсні модулятори, сторожові таймери, супервізорні схеми і так далі;
  • PIC17CXXX - сімейство високопродуктивних мікроконтролерів з розширеною системою команд 16-розрядного формату (58 команд), працюючі на частоті до 33 Мгц, з об'ємом пам'яті програм до 16 К. Окрім обширної периферії, 16-рівневого апаратного стека і векторної системи переривань, майже всі мікроконтролери цього сімейства мають вбудований апаратний помножувач 8х8, виконуючий операцію множення за один машинний цикл. Є одними з самих швидкодійних в класі 8-розрядних мікроконтролерів;
  • PIC18CXXX - сімейство високопродуктивних мікроконтролерів з розширеною системою команд 16-розрядного формату (75 команд) і вбудованим 10-розрядним АЦП, працюючі на частоті до 40 Мгц. Містять 31-рівневий апаратний стек, вбудовану пам'ять команд до 32 К і здатні адресувати до 4 Кбайт пам'яті даних і до 2 Мбайт зовнішньої пам'яті програм. Розширене RISC-ядро мікроконтролерів даного сімейства оптимізовано під використовування нового Сі-компілятора.

Більшість PIC-контроллерів випускається з однократно програмованою пам'яттю програм (OTP), з можливістю внутрішньосхемного програмування або масочним ПЗП. Для цілей відладки пропонуються більш дорогі версії з ультрафіолетовим стиранням і Flash-пам'яттю. Повний список модифікацій PIC-контроллерів, що випускаються, включає порядка п'ятисот найменувань. Тому продукція компанії перекриває майже весь діапазон вживань 8-розрядних мікроконтролерів.
З програмних засобів відладки найбільш відомі і доступні різні версії асемблерів, а також інтегроване програмне середовище MPLAB. Російські виробники програматорів і апаратних налагоджувальних засобів також надають увагу PIC-контроллерам. Випускаються як спеціалізовані програматори, такі як PICPROG, програмуючі майже весь спектр PIC-мікроконтролерів, так і універсальні: UNIPRO і СТЕРХ, підтримуючі найвідоміші версії PIC-контроллерів.
Найпоширенішими сімействами PIC-контроллерів є PIC16CXXX і PIC17CXXX.


5.1.2. Мікроконтролери сімейств PIC16CXXX і PIC17CXXX

Основним призначенням мікроконтролерів сімейств PIC16 і PIC17, як випливає з абревіатури PIC (Peripheral Interface Controller), є виконання інтерфейсних функцій. Цим пояснюються особливості їх архітектури:

  • RISC-система команд, що характеризується малим набором одноадресних інструкцій (33, 35 або 58), кожна з яких має довжину в одне слово (12, 14 або 16 біт) і більшість виконується за один машинний цикл. В системі команд відсутні складні арифметичні команди (множення, ділення), гранично скорочений набір умовних переходів;
  • висока швидкість виконання команд: при тактовій частоті 20 Мгц час машинного циклу складають 200 нс (швидкодія рівна 5 млн. операций/сек);
  • наявність потужних вихідних схем (до 25 мА) на лініях портів вводу/виводу, що дозволяє підключати безпосередньо до них досить потужне навантаження, наприклад, світлодіоди.
  • низька споживана потужність;
  • орієнтація на цінову нішу гранично низької вартості, визначаюча використовування дешевих корпусів з малою кількістю виводів (8, 14, 18, 28), відмову від зовнішніх шин адреси і даних (окрім PIC17C4X), використовування спрощеного механізму переривань і апаратного (програмно неприступного) стека.

5.1.3. Особливості архітектури мікроконтролерів сімейства PIC16CXXX

Мікроконтролери сімейства PIC16CXXX, виконані за технологією HCMOS є 8-розрядними мікроконтролерами на основі RISC-процесора, виконаними по гарвардській архітектурі. Мають вбудований ПЗП команд об'ємом від 0,5 до 4 К (розрядність слова команд рівна 12 - 14 біт). Пам'ять даних PIC-контролерів організована у вигляді регістрового файлу об'ємом 32 - 128 байт, в якому від 7 до 16 регістрів відведено для управління системою і обміну даними із зовнішніми пристроями.
Одним з основних достоїнств цих пристроїв є дуже широкий діапазон напруг живлення (2 - 6 В). Струм споживання на частоті 32768 Гц складає менше 15 мкА, на частоті 4 Мгц - 1 - 2 мА, на частоті 20 Мгц 5 - 7 мА і в режимі мікроспоживання (режим SLEEP) - 1 - 2 мкА. Випускаються модифікації для роботи в трьох температурних діапазонах: від 0 до +70°С, від -40 до +85°С і від -40 до +125°С.
Кожний з контролерів містить універсальні (від 1 до 3) і сторожовий таймери, а також надійну вбудовану систему скидання при включенні живлення. Частота внутрішнього тактового генератора задається або кварцовим резонатором, або RC-ланцюгом в діапазоні 0 - 25 Мгц. PIC-контролери мають від 12 до 33 ліній цифрового вводу/виводу, причому кожна з них може бути незалежно налаштована на введення або виведення.
В пристрій PIC16C64 входить широтно-імпульсний модулятор, за допомогою якого можна реалізувати ЦАП з роздільною здатністтю до 16 розрядів. Тут є і послідовний двонаправлений синхронно-асинхронний порт, що забезпечує можливість організації шини I2C. Прилади PIC16C71 і PIC16C74 містять вбудований багатоканальний 8-розрядний АЦП з пристроєм вибірки-зберігання.
Крім пам'яті програм в PIC передбачено кілька індивідуально пропалюваних перемичок, за допомогою яких можна на етапі програмування кристала вибрати тип тактового генератора, відключити сторожовий таймер або систему скидання, включити захист пам'яті програм від копіювання, а також записати серійний номер кристала (16 біт).
З програмної точки зору PIC-контроллер є 8-розрядним RISC-процесором з гарвардською архітектурою. Число команд невелике - від 33 до 35. Всі команди мають однакову довжину і, окрім команд розгалуження, виконуються за чотири періоди тактової частоти (у відмінність, наприклад, від 12 періодів для i87C51). Підтримуються безпосередній, непрямий і відносний методи адресації, можна ефективно управляти окремими бітами в межах всього регістрового файлу. Стек реалізований - апаратний. Його максимальна глибина складає два або вісім рівнів залежно від типу контролера. Майже у всіх мікросхемах PIC є система переривань, джерелами яких можуть бути таймер і зовнішні сигнали. Система команд практично симетрична і, як наслідок, легка в освоєнні.
Вживання PIC-контроллерів доцільне в нескладних приладах з обмеженим струмом споживання (автономні пристрої, прилади з живленням від телефонної лінії і т.п.). Завдяки малій кількості компонентів, що використовуються при побудові таких приладів, їх розміри зменшуються, а надійність збільшується.
Типовим представником мікроконтролерів сімейства PIC16CXXX є мікроконтролери підгрупи PIC16F8X.

 

попередня тема наступна тема